package com.project.mapper;

import com.project.bean.UserBean;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;

public interface IUserMapper {
    /**
     * 登录
     * @param user 用户名
     * @param password 密码
     * @return 登录用户对象  （失败返回null）
     */
    UserBean login(@Param("user") String user, @Param("password")String password);
    /**
     * 显示所有用户
     * @return 用户集合 用户信息{ 编号、用户名、密码、真实姓名、权限}
     */
    ArrayList<UserBean> showAllUser();

    /**
     * 根据用户名，查找用户
     * @param user 用户名
     * @return UserBean {用户名}
     */
    UserBean userByUser(String user);

    /**
     * 添加用户
     * @param user 用户名
     * @param name 真实姓名
     * @param grade 权限
     */
    void addUser(@Param("user") String user,@Param("name") String name,@Param("grade")String grade);

    /**
     * 删除用户
     * @param userId 用户id
     */
    void delUser(Integer userId);

    /**
     * 修改用户权限
     * @param userId 用户id
     * @param newGrade 用户新权限
     */
    void updGrade(@Param("userId") Integer userId,@Param("newGrade") String newGrade);

    /**
     * 修改密码
     * @param userId 用户id
     * @param newPassword 新密码
     */
    void updPassword(@Param("userId") Integer userId,@Param("newPassword") String newPassword);

    /**
     * 按用户id  获取用户信息
     * @param userId 用户id
     * @return 用户对象  用户信息{ 编号，用户名，真实姓名，权限}
     */
    UserBean userById(Integer userId);
}
